package com.qf.mybatis01.dao;

import com.qf.mybatis01.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserDao {
    //根据用户的id查询用户
    public User selectUserById(Integer id);

    //根据用户的id和密码查询用户
    public User selectUserByIdAndPwd(Integer id,String pwd);

    //根据用户名字和密码查询用户
    //使用MyBatis提供的@Param进行参数绑定
    public User selectUserByNameAndPwd(@Param("username") String name,@Param("password") String pwd);

    //参数为map的根据用户名字和密码查询用户 注意：map中的key，要与mapper配置文件中的#{}中内容一致
    public User selectUserByIdAndPwd_Map(Map map);

    //参数为user对象的根据用户名字和密码查询用户
    public User selectUserByIdAndPwd_Obj(User user);

    //根据传入的用户名的关键字进行模糊查询
    public List<User> selectUserByName(@Param("keyword") String keyword);

    //根据用户的id删除用户信息
    public int deleteUserById(@Param("id") Integer id);

    //修改用户信息 修改的依据是user对象中的id值
    public int updateUserById(User user);

    //新增用户信息
    public int insertUser(User user);

}
